[% setvar title Remove long-deprecated $* (aka $MULTILINE_MATCHING) %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='TITLE'></a><h1>TITLE</h1>
<p>Remove long-deprecated $* (aka $MULTILINE_MATCHING)</p>
<a name='VERSION'></a><h1>VERSION</h1>
<pre>  Maintainer: Hugo van der Sanden &lt;<a href='mailto:hv@crypt0.demon.co.uk'>hv@crypt0.demon.co.uk</a>&gt;
  Date: 29 Sep 2000
  Last Modified: 30 Sep 2000
  Mailing List: <a href='mailto:perl6-language-regex@perl.org'>perl6-language-regex@perl.org</a>
  Number: 347
  Version: 2
  Status: Frozen</pre>
<a name='ABSTRACT'></a><h1>ABSTRACT</h1>
<p>The magic $* variable (known in English as $MULTILINE_MATCHING)
has been deprecated for years. It is time to kill it.</p>
<a name='DESCRIPTION'></a><h1>DESCRIPTION</h1>
<p>In days of yore, you would set $* to 1 to achieve in all regexps
the same as you can now achieve on a per-regexp basis with the
/m flag. Nowadays, when most perl programmers have never heard
of it, it is an accident waiting to happen and requires ugly
additional cruft for the defensive programmer to avoid.</p>
<p>The particular danger of $* is its 'action at a distance' effect:
as a global variable, its effect reaches into and out of scopes
that we normally expect to protect us.</p>
<a name='MIGRATION'></a><h1>MIGRATION</h1>
<p>The long deprecation cycle helps here. p52p6 should complain and
die if it sees any attempt to set $* or $MULTILINE_MATCHING to a
non-zero value, or any attempt to alias it other than in English.
It should silently (or maybe with a warning) ignore any attempt to
set it to a zero value, and silently (or maybe with a warning)
replace any attempt to read it with a constant undef.</p>
<a name='IMPLEMENTATION'></a><h1>IMPLEMENTATION</h1>
<p>This only simplifies the regexp engine, and should help fix some
longstanding bugs in the scope of /m. There is a bit of work to
do to extricate it, but nothing seriously difficult.</p>
<a name='REFERENCES'></a><h1>REFERENCES</h1>
<p>perlvar manpage for discussion of $*</p>
</div>
